Run-time Manipulation of Programs in a Statically-Typed Language

نویسنده

  • Saso Greiner
چکیده

This article is an extended abstract of a doctoral dissertation on metaprogramming and programming language design. A metaprogramming model is studied and implemented in a statically–typed pure object– oriented programming language Zero. The object model of language is based on closures which enables metaprogramming model to achieve a high degree of dynamic manipulation, normally only found in dynamically–typed languages. Metaprogramming in Zero is based on safely–typed structural and behavioural reflection.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

CPL: A Core Language for Cloud Computing - Technical Report

Running distributed applications in the cloud involves deployment. That is, distribution and configuration of application services and middleware infrastructure. The considerable complexity of these tasks resulted in the emergence of declarative JSON-based domain-specific deployment languages to develop deployment programs. However, existing deployment programs unsafely compose artifacts writte...

متن کامل

2 Dynamically typed lambda calculus

We present an extension of a statically typed language with a special type Dynamic and explicit type tagging and checking operations (coercions). Programs in run-time typed languages are viewed as incomplete programs that are to be completed to well-typed programs by explicitly inserting coercions into them. Such completions are generally not unique. If the meaning of an incomplete program is t...

متن کامل

Efficient Just-In-Time Execution of Dynamically Typed Languages Via Code Specialization Using Precise Runtime Type Inference

Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In contrast to statically typed languages such as JVML, in which there are specific opcodes for common operations on primitive types (such as iadd for integer addition), all operations in dynamically typed language such as JavaScript are late-bound. Often enough, types cannot be inferred with certainty...

متن کامل

Self-Interpretation and Reflection in a Statically Typed Language

Reflection is the ability of a system to perform a computation about itself. This ability typically includes a way of representing programs as data (“reification”) and of executing representations of programs (“selfinterpretation”). The interpreter is accessible to the interpreted program in the form of an “eval” function. Reflection is traditionally studied in untyped or dynamically typed lang...

متن کامل

Type Dynamic

Even in the most expressive statically-typed languages, there are always programs that will require run-time type information. An example of such a program is the eval function, whose ouput cannot be assigned a type at compile time. Abadi et al. introduce Dynamic values to solve this problem. A Dynamic value is a pair that contains a value and a type tag for that value. The authors also introdu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Informatica (Slovenia)

دوره 33  شماره 

صفحات  -

تاریخ انتشار 2009